Field of the Invention
The aspect of the embodiments relates to print control using a printer driver.
Description of the Related Art
As to a printer driver for Windows, a shift from a Graphics Device Interface (GDI) printer driver which has been used as a main driver until now to an XML Paper Specification (XPS) printer driver (hereinafter, referred to as a V4 printer driver) has begun. The V4 printer driver is to be the main driver in the near future. The GDI printer driver is a driver which interprets a GDI drawing instruction to generate print data. The V4 printer driver is a driver which interprets an XPS drawing instruction to generate print data.
A conventional application outputs a GDI drawing instruction to the GDI printer driver when performing print processing. In this specification, such an application is referred to as a GDI application. On the other hand, a new application which is compatible with the V4 printer driver outputs an XPS drawing instruction to the V4 printer driver when performing print processing. Such an application which is capable of outputting the XPS drawing instruction is referred to as an XPS application. Particularly, in a period of the shift of printer drivers, the GDI application and the XPS application coexist and operate in one computer.
Further, even when the V4 printer driver becomes the main driver, the conventional GDI application outputs a GDI drawing instruction when performing print processing. Then, in a case where the GDI application performs print processing by using the V4 printer driver, an OS performs processing by which a GDI drawing instruction is converted into an XPS drawing instruction. Specifically, it is configured such that an MXDW (Microsoft XPS Document Writer) converts a GDI drawing instruction, which is output from the GDI application, into an XPS drawing instruction, and the XPS drawing instruction after the conversion is input to the V4 printer driver.
Japanese Patent Laid-Open No. 2008-276745 discloses a technique by which whether or not an XPS drawing instruction input to a printer driver is an XPS drawing instruction output from a GDI application is determined and printing is performed so as not to protrude from a printable region.
On the other hand, there are some cases in which a result of drawing by the V4 printer driver according to an XPS drawing instruction which is obtained by converting, by the MXDW, a GDI drawing instruction output from the GDI application is different from a result of drawing by the GDI printer driver. That is, a result of drawing of a GDI drawing instruction, which is output from the GDI application, by the GDI printer driver is different from a result of drawing by the V4 printer driver in some cases.
GDI drawing instructions include various drawing instructions. Examples of the GDI drawing instructions include a drawing instruction for giving an instruction of drawing repeatedly with a bitmap (image data) in an inside of a designated region, which is called a bitmap brush. In the GDI printer driver, it is possible to deal with the bitmap of the bitmap brush drawing instruction with resolution unique to the driver. Alternatively, it is possible for a user who performs printing to designate resolution for the bitmap brush via a UI screen of the GDI printer driver. The GDI printer driver is able to deal with the bitmap with resolution (for example, 600 dpi or 300 dpi) according to the designation of the user. In this manner, with processing using the GDI printer driver, a bitmap is to be drawn repeatedly with resolution (designated resolution of, for example, 600 dpi or 300 dpi) according to setting on a printer driver side.
On the other hand, in the case of performing print processing for a GDI drawing instruction, which is output from the GDI application, by using the V4 printer driver, the GDI drawing instruction is converted into an XPS drawing instruction by the MXDW as described above. In the conversion processing, the MXDW converts the bitmap of the bitmap brush drawing instruction into image data (referred to as a tile image) with fixed resolution (for example, 150 dpi). That is, the MXDW converts the bitmap brush drawing instruction into a tile image drawing instruction for repeatedly drawing a tile image with the fixed resolution. The tile image drawing instruction obtained by conversion by the MXDW in this manner is to be input to the V4 printer driver. That is, at a time point when the drawing instruction is input to the V4 printer driver, the resolution of the image data, which is used for repeating pattern drawing, has already been decided by the MXDW. Therefore, in the processing using the V4 printer driver, the repeating drawing is performed with the decided resolution (for example, 150 dpi). Thus, a result output by the V4 printer driver via the MXDW has different resolution compared with that of an output result of the GDI printer driver in some cases.
FIGS. 1A, 1B, and 1C are views illustrating examples of output results of the GDI printer driver and an output result of the V4 printer driver. Each background image in FIGS. 1A, 1B, and 1C is an image output as a result of a bitmap brush drawing instruction. FIG. 1A and FIG. 1B illustrates results of drawing of the bitmap brush drawing instruction by the GDI printer driver with resolution of 600 dpi and 300 dpi, respectively. FIG. 1C illustrates a result of drawing of the same bitmap brush drawing instruction by the V4 printer driver, in which the drawing is performed with resolution of 150 dpi which is decided by the MXDW. A difference between the both drawing results is obvious. As above, there is a situation that, in a case where the same GDI drawing instruction is output from the GDI application, roughness of a tile image is different between processing using the GDI printer driver and processing using the V4 printer driver.